home *** CD-ROM | disk | FTP | other *** search
/ Light ROM Gold / Light ROM Gold.iso / arexx / modeler / absquick.lwm < prev    next >
Text File  |  1993-12-25  |  1KB  |  55 lines

  1. ------------------------------begin "MoveAbsQuick.lwm"-------------------
  2. /* CMD: MoveAbsoluteQuick
  3.  * $VER: V1.0
  4.  *
  5.  Move Object by Absolute Co-ords, using Bounding Box center,   */
  6. /* By Darren Reid, =A91993 Innovision Strategic Communications. */
  7.  
  8.  
  9. libadd =3D addlib("LWMode
  10. lerARexx.port",0)
  11. signal on error
  12. signal on syntax
  13. call SEL_MODE(USER)
  14. box=3Dboundingbox()  /* Should check out empty list ...
  15.   */
  16. parse var box n x1 x2 y1 y2 z1 z2
  17. cx=3D(x2+x1)/2
  18. cy=3D(y2+y1)/2
  19. cz=3D(z2+z1)/2
  20.  
  21. call req_begin 'Move Absolute *Quick*'
  22. id_CX =3D req_addcontrol("Current X:", 'T', cx)
  23. id_CY =3D req_addcontrol("Current Y:", 'T', cy)
  24. id_CZ =3D req
  25. _addcontrol("Current Z:", 'T', cz)
  26. id_NX =3D req_addcontrol("New X:", 'N', 1)
  27. id_NY =3D req_addcontrol("New Y:", 'N', 1)
  28. id_NZ =3D req_addcontrol("New Z:", 'N', 1)
  29. call req_setval(id_NX,cx)
  30. call req_setval(id_NY,cy)
  31. call req_setval(id_NZ,cz)
  32. if (~req_post()) then do
  33.     call req_end
  34.     exit
  35. end
  36. nx =3D req_getval(id_NX)
  37. ny =3D req_getval(id_NY)
  38. nz =3D req_getval(id_NZ)
  39. call req_end
  40.  
  41. dx =3D (nx - cx)
  42. dy =3D (ny - cy)
  43. dz =3D (nz - cz)
  44.  
  45. call MOVE(dx dy dz)
  46.  
  47.  
  48. if (libadd) then call remlib("LWModelerARexx.port")
  49. exit
  50.  
  51. syntax:
  52. error:
  53. =09t=3DNotify(1,'!Rexx Script Error','@'ErrorText(rc),'Line 'SIGL)
  54.   if (libadd) then call remlib("LWModelerARexx.port")
  55. =09exit